home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Free 6
/
Commodore_Free_Issue_06_2007_Commodore_Computer_Club.d64
/
t.romram 1
< prev
next >
Wrap
Text File
|
2023-02-26
|
6KB
|
195 lines
u
The 6502-RAMROM as drive expander
==============================
i Wolfgang Moser and Nicolas Welte
A short overview of the 6502
microprocessor based hardware
extension, that was designed by
Nicolas Welte . It contains a
dedicated test report with my personal
experiences and some application
examples. Originally the 6502-RAMROM
[6502-RamRom inserted into 1541 drive,
side view,
was conceived by Nicolas Welte and
Paul Fvrster for the Commodore PET
series computers as a RAM and ROM
expansion and diagnostic board,
leading to it's first name: PETRAM.
Based upon many discussions with
Nicolas in the design phase, he (we ?)
decided to make use of a Flash-ROM
chip instead of just EPROMs. And other
6502 microprocessor based Commodore
computers like the VIC20 or the 1541
disk drive should be taken into
account.
The processor adaptor board can be
configured for different systems by
simply replacing one little GAL 16V8
programmable logic chip. To keep the
hardware simple, the C64 computer or
other non pure 6502 micro's are not
supported.
6502-RAMROM prototype test report from
Womo, 2003-02-07 HardwareSome weeks
after Nicolas received his
professionally manufactured printed
circuit boards (PCBs) of the
6502-RAMROM I ordered two of them
[Delivered 6502-RamRom and
Flash-Adaptor PCBs,
along with some of the needed
components. Since I don't own a PET
computer nor a VIC20, I ordered only
two GALs for the Commodore 15x1 drive
replacement configuration. Since I can
call myself an experienced electronic
craftsman, soldering the board was no
big problem. Although I have to state
that, for a beginner, it may be too
hard. Please look
onto Nicolas' construction page and
carefully decide, if you feel able to
solder the board. If not, you should
order the ready-built extension board
[6502-RamRom top view,
[6502-RamRom bottom view
[Soldered optional SMD-RAM,
At this time, the Flash update
software wasn't available for disk
drive in-circuit updates, so I had to
use my IBM-PC based c't-Flasher for
burning some contents into the ROMs. I
tested several speeder ROMs, flashed
different versions into the four ROM
banks and switched them forth and
back. Everything worked fine, cool.
Dolphin-DOS 2.0Before I could test the
RAM options I needed to solve some
problems. I wanted to test out the
Dolphin-DOS 2.0 floppy speeder ROM
which makes use of additional RAM .
But for this and other speeder systems
I needed to install a parallel cable
from the floppy's 6522 VIA chip to my
C64's user port. And I needed a simple
solution to quickly test out different
C64 Kernal replacements.The second was
no problem, because I also ordered
some Flash-ROM [C64 Flash-Adapter
Kernal ROMswitch,
top view, [Inserted C64
Flash-Adapter Kernal ROM switch,]
adaptor PCBs and could easily build a
Flash-ROM to C64 Kernal adaptor.
Inserting a parallel cable into my
1541 drive was a little bit
problematic, because the 6502-RAMROM
board overlays the 6522 VIA chip
location. First I used some additional
40 pin sockets to lift the 6502-RAMROM
a bit higher, but I didn't feel happy
with it; the case couldn't be closed
now. So I built a very special
lowest-profile parallel cable adaptor.
[1541 low profile parallel cable
adaptor, bottom view,
[1541 low profile parallel cable
adaptor, top view,
This all done, I first tested my
beloved SpeedDOS (35 and 40 tracks)
and made sure, that it worked fine. I
also tested some of the most important
copy programs to make sure, that the
parallel cable and the ROM
replacements don't fail. Preparations
for the test of Dolphin-DOS 2.0 ] were
done, flashing the 1541 drive ROM and
C64 Kernal. I configured the RAM
option switches to DD2 and made the
first steps. Anything looked fine. And
wow, DD2 isn't as slow as I thought
all the time. Although beaten by
Professional-DOS working with it
brings fun. I couldn't see any
problems like load or CRC errors, all
games loaded fine and were playable.
So the RAM seemed to work fine also.
[Space between parallel cable
adaptorand 6502-RamRom (view 1),
[Space between parallel cable adaptor
and 6502-RamRom (view 2), [Space
between parallel cable adaptorand
6502-RamRom (lifted),
In-circuit flashing The next test
phase came, when Nicolas was finished
with the in-circuit drive flashing
software . This piece of software was
designed a very, very special way. The
ROM, that is going to burned is not
loaded into the computer's memory and
transferred back into the drive's
Flash-ROM memory. That would be much
too long winded. No, the ROM contents
are transferred directly, block by
block, from the disk's surface into
the drive's buffer memory and further
into the Flash-ROM.
This is possible, because Flash-ROMs
from Atmel ] were used, that can be
flashed page by page. Unfortunately
the Flash software does only support
chips from Atmel until now, but you
can use differently sized ROMs, if you
want (AT29C256, AT29C512, AT29C010)
and if you don't need that much ROM
banks.For the first times flashing new
drive ROMs went flawlessly, but
whenever a SpeedDOS-ROM was configured
via the main ROM switches I ran into
problems with flashing other ROM
banks.
Some tests revealed, that whenever a
SpeedDOS-ROM was selected with the
6502-RAMROM and the Flash enable
switch was set, the drive hung up,
when a file was loaded or the error
channel was retrieved with the '@'
command. I discussed it with Nicolas
and he told me, that he found similar
problems with the original CBM
VIC20-ROM. We found out that some
misdesigned ROM code fragments were
responsible for this (Note: the VICE
emulator's built-in monitor was
exceedingly helpful with this:
<ALT>-m, device 8:, watch store 8000
FFFF, exit).
Whenever the Flash enable switch is
set and parts of code executed by the
desired 6502 processor store values to
the ROM (to the Flash-ROM), the
internal logic of the Flash blocks the
whole chip so that even reading the
ROM fails for some time. After
discussing this point in the
cbm-hackers mailing list ], Nicolas
managed to fix this ROM bug and so did
I with the SpeedDOS-ROMs .
...end part 1...